package com.bruce.framework;

import com.bruce.framework.result.ResponseInfo;

import java.io.Serializable;

/**
 * 执行结果
 * <br>CreateDate  2021/09/09 10:48:06
 *
 * @author luotuan
 * @version 1.0.0
 */
public interface IResponse extends Serializable {
    /**
     * 本次操作是否成功
     * @return 是否成功
     */
    Boolean isSuccessful();

    /**
     * 本次操作系统响应信息
     * @return 系统响应信息
     */
    ResponseInfo getResponseInfo();

    /**
     * 序列化为json字符串
     * @return json字符串
     */
    String toJson();


    /**
     * 克隆响应信息
     *
     * @param source 信息源
     *
     *               <br>CreateDate 2021/09/09 10:47:51
     * @author luotuan
     * @since 1.0.0
     **/
    void cloneResponseInfo(IResponse source);
}
